var registroTramite = null;
var regExpedienteActual = null;
var regDocumentoActual = null;
var idFolios = null;
var dsTramites;
var indiceFolioActual = 0;
//@lekvispk
function consultarSolicitud(){

    var frmCriterios = new Ext.Panel({
        bodyStyle: "background-color:#DFE8F6; border:0",
        autoLoad: "frmConsultarSolicitudCriterios.jsp"
    });

    dsTramites=new Ext.data.Store({
        autoDestroy: true,
        url: "listaSolicitud.jsp",
        reader: new Ext.data.JsonReader({
            root: "tramites",
            fields:[
            { name: "nanio_identificador", type: "integer"},
            { name: "canio_anio", type: "string"},
            { name: "ntram_identificador", type: "integer"},
            { name: "ntram_numero", type: "string"},
            { name: "ctram_prioridad", type: "string"},
            { name: "ctram_tienebeneficio", type: "string"},
            { name: "ctram_hojatramitesige", type: "string"},
            { name: "dtram_fechacreacion", type: "string"},
            { name: "dtram_fechaatencion", type: "string"},
            { name: "npers_administrado", type: "integer"},
            { name: "cpers_apenom", type: "string"},
            { name: "nusua_identificador", type: "integer"},
            { name: "cusua_username", type: "string"},
            { name: "ndepe_identificador", type: "integer"},
            { name: "nestr_identificador", type: "integer"},
            { name: "cestr_descripcion", type: "string"},
            { name: "ctram_hojaTramite", type: "string"},
            { name: "ctram_observaciones", type: "string"},
            { name: "ctram_solicitante", type: "string"},
            { name: "nsolicitabeneficio", type: "string"}
            ]
        })
    });
    dsTramites.on("exception",function(proxy, type, action, options, response, arg){
        Ext.MessageBox.alert("Error","Error DIRPEN:0201: No se pudo cargar DataStore dsTramites");
    });
    var grdTramites=new Ext.grid.GridPanel({
        title: "",
        id:'grdTramite',
        store: dsTramites,
        loadMask: true,
        stripeRows: true,
        height: 200,
        plugins:[new Ext.ux.grid.Search({
            mode:'local',
            iconCls:false,
            minLength:2,
            width: 350
        })],
        columns:[new Ext.grid.RowNumberer(),{
            header: "HT Interna",
            dataIndex: "ctram_hojaTramite",
            width: 100
        },{
            header: "HT SIGE",
            dataIndex: "ctram_hojatramitesige",
            width: 100
        },{
            header: "Solicitante",
            dataIndex: "ctram_solicitante",
            width: 150
        },{
            header: "Causante",
            dataIndex: "cpers_apenom",
            width: 150
        },{
            header: "Solicita",
            dataIndex: "nsolicitabeneficio",
            width: 300
        },{
            header: "Fecha Inicio",
            dataIndex: "dtram_fechacreacion",
            width: 120
        },{
            header: "Prioridad",
            dataIndex: "ctram_prioridad",
            width: 80,
            renderer:colorPrioridad
        }],
        tbar: []
    });

    var seleccionTramite=grdTramites.getSelectionModel();
    seleccionTramite.on("rowselect",function(sm,fila,registro){
        registroTramite=registro;
        dsRutaTramite.reload({
            params:{ntramidentificador: registroTramite.data.ntram_identificador}
        });        
    });

    dsRutaTramite =new Ext.data.Store({
        autoDestroy: true,
        url: "lista-ruta-tramite",
        reader: new Ext.data.JsonReader({
            root: "rutatramite",
            fields:[
                {name: "nmoviIdentificador"},
                {name: "nesmoIdentificador"},
                {name: "dmoviFechaEnvio"},
                {name: "dmoviFechaCreacion"},
                {name:"cesmoDescripcion"},
                {name:"cdepeOrigen"},
                {name:"cdepeDestino"},
                {name:"dmoviFechaRecepcion"}
            ]
        })
    });
    dsRutaTramite.on("exception",function(proxy, type, action, options, response, arg){
        Ext.MessageBox.alert("Error","Error DIRPEN:0203: No se pudo cargar DataStore dsRutaTramite");
    });
    var grdRutaTramite=new Ext.grid.GridPanel({
        title: "Ruta Tramite",
        store: dsRutaTramite,
        id:'grdRutaTramite',
        loadMask: true,
        stripeRows: true,
        height: 195,
        columns:[{
            header: "Viene de",
            dataIndex: "cdepeOrigen",
            width: 330
        },{
            header: "Va a",
            dataIndex: "cdepeDestino",
            width: 330
        },{
            header: "Fecha Envio",
            dataIndex: "dmoviFechaEnvio",
            width: 120
        },{
            header: "Fecha Recepcion",
            dataIndex: "dmoviFechaRecepcion",
            width: 120
        },{
            header: "Estado",
            dataIndex: "cesmoDescripcion",
            width: 60
        }],
        tbar: [{
            text:'Imprimir',
            iconCls:'icon-print',
            handler: function(){
                printHojaRuta();
            }
        }]
    });
    grdRutaTramite.on("render",function(component){
        dsRutaTramite.load({
            params:{
                ntramidentificador: 0
            }
        });
    });
    
    var win = new Ext.Window({
        title:'Consultas de Solicitudes',
        closeAction:'destroy',
        id:'winconsultasoli',
        width:1020,
        height:532,
        x:0,
        y:0,
        shim:false,
        maximizable:false,
        resizable: false,
        animCollapse:false,        
        items:[
        {                 
                height: 40,
                split: false,
                border:false,
                layout:'fit',
                xtype: 'panel',
                items: frmCriterios
            },{
                height: 230,
                split: false,
                border:false,
                xtype: 'panel',
                layout:'fit',
                bodyStyle: "background-color:#DFE8F6; border:0",
                items: grdTramites
            },{
                height: 230,
                split: false,
                border:false,
                xtype: 'panel',
                layout:'fit',
                bodyStyle: "background-color:#DFE8F6; border:0",
                items: grdRutaTramite
            }
          ]
    });
    win.show();
}


function buscarSolicitud(){
    var form = document.getElementById("frmCriterios");
    var opcion = 0;
    for(var i = 0;i<form.opcion.length;i++){
        if (form.opcion[i].checked){
            opcion = form.opcion[i].value;
            break;
        }
    }
    var criterio = form.criterio.value;

    var grdRutaTramite = Ext.getCmp("grdRutaTramite");
    var dsrutatramite = grdRutaTramite.getStore();
    var grdTramite = Ext.getCmp("grdTramite");
    var dstramite = grdTramite.getStore();
    dstramite.load({
        params: {
            opcion: opcion,
            criterio: criterio
        }
    });
    dsrutatramite.load({
        params:{  ntramidentificador: 0 }
    });
}

function obtenerDocumentosExpediente(){
    var id = regExpedienteActual.get("id");
    var grdDocumentos = Ext.getCmp("grdDocumentos");
    var dsDocumentos = grdDocumentos.getStore();
    dsDocumentos.load({
        params:{
            id: id
        }
    });
}

function verFolios(){
    var id = regDocumentoActual.get("id");
    new Ajax.Request("obtener-folios-documento.jsp",{
        method: "post",
        parameters: {
            id: id
        },
        onSuccess: function(t){
            var data = t.responseText.evalJSON();
            idFolios = data.folios;
            verFolio();
        }
    });
}

function verFolio(){
    var win = new Ext.Window({
        modal: true,
        title:'Vista Previa del Documento',
        closeAction:'destroy',
        width:800,
        height:500,
        shim:false,
        maximizable:false,
        resizable: false,
        animCollapse:false,
        autoScroll: true,
        autoLoad: {
            url:  "ver-folio.jsp",
            callback: function(el,success,response,options){
                if (idFolios.length == 0){
                    Information("Error", "No hay folios en este documento");
                } else {
                    verFolioIndice(0);
                }
               
            }
        },
        bbar: [{
            text:'Cerrar',
            iconCls:'icon-cancel',
            handler: function(){
                win.destroy();
            }
        },"-",{
            text: "Imprimir",
            iconCls: "icon-print",
            handler: function(){
                imprimirFolio();
            }
        }]
    });
    win.show();
}

function verFolioSiguiente(){
    indiceFolioActual++;
    if (indiceFolioActual > idFolios.length - 1) {
        indiceFolioActual = 0;
    }
    verFolioIndice(indiceFolioActual);
}

function verFolioAnterior(){
    indiceFolioActual--;
    if (indiceFolioActual < 1) {
        indiceFolioActual = idFolios.length - 1;
    }
    verFolioIndice(indiceFolioActual);
    
}

function verFolioActual(){
    var txtFolioActual = document.getElementById("txtFolioActual");
    indiceFolioActual = txtFolioActual.value - 1;
    verFolioIndice(indiceFolioActual);
}

function verFolioIndice(indice){
    var txtFolioActual = document.getElementById("txtFolioActual");
    txtFolioActual.value = indiceFolioActual + 1;
    var spnTotalFolios = document.getElementById("spnTotalFolios");
    spnTotalFolios.innerHTML = idFolios.length;
    var img = document.getElementById("imagenFolio");
    img.src = "../digitalizar/VistaPreviaFolio.jpg?id="+idFolios[indice].id;
}

function irFolioActual(e){
    tecla = (document.all) ? e.keyCode : e.which;
    if (tecla==13) verFolioActual();

}

function imprimirFolio(){
    var src = "../digitalizar/VistaPreviaFolio.jpg?id="+idFolios[indiceFolioActual].id;
    new Ajax.Request("imprimir-folio.jsp",{
        method: "post",
        parameters: {
            src : src
        },
        onSuccess: function(t){
            var w = window.open("about:blank", "imprimir");
            w.document.open();
            w.document.write(t.responseText);
            w.document.close();
        },
        onFailure: function(t){
            alert(t.responseText);
        }
    });
}

//duplicado, el original esta en bandeja.js al final del archivo
function printHojaRuta(){
    var width  = screen.width-50;
    var height = screen.height-100;
    var left   = 10;
    var top    = 10;
    var params = 'width='+width+',height='+height;
    params += ',top='+top+',left='+left;
    params += ',directories=no';
    params += ',location=no';
    params += ',menubar=no';
    params += ',resizable=yes';
    params += ',scrollbars=no';
    params += ',status=no';
    params += ',toolbar=no';
    window.open("RutaTramiteReporte.pdf?ntramcodigo="+registroTramite.data.ntram_identificador,'windowname',params);
}

function colorPrioridad(val){
    var texto="";
    if (val == "U"){
        texto = "<span style='color:red'>Urgente</span>";
    }else if (val == "R"){
        texto="<span style='color:green'>Reservado</span>";
    }else if (val == "M"){
        texto="<span style='color:red'>Muy Urgente</span>";
    }else if (val == "C"){
        texto="<span style='color:blue'>Confidencial</span>";
    }else{
        texto="<span style='color:green'>Normal</span>";
    }
    return texto;
}